package raf;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

/**
 *       随机   访问   文件
 *       java.io.RandomAccessFile
 *       RAF是专门用来读写文件的API，其基于指针对文件任意位置进行读写操作，因此读写方式灵活。
 */
public class RAFDemo1 {
    public static void main(String[] args) throws IOException {
        /*
            常用构造器
            RandomAccessFile(File file,String mode)
            RandomAccessFile(String fileName,String mode)
            第一个参数为要操作的文件,第二个参数为操作模式
            操作模式是一个字符串,支持两个值:
            "r":只读模式,仅对文件做读取操作.  r:read读
            "rw":读写模式,对文件即可读又可写. w:write写

            RAF在创建时,若指定的文件不存在,则根据操作模式不同,结果不同.
            如果指定的是rw模式,则会将该文件创建出来.
            如果指定的是r模式,则会抛出异常FileNotFoundException,告知该文件不存在!
         */
        //想对当前目录下的raf.dat文件进行操作
//        File file = new File("./raf.dat");
//        RandomAccessFile raf = new RandomAccessFile(file,"rw");

        RandomAccessFile raf = new RandomAccessFile("./raf.dat","rw");
/*
           void write(int d):
           向文件中写入一个字节，写入的是给定的int值所对应的2进制的“低八位”
           int ：1                                vvvvvvvv
             2进制 ：   00000000 00000000 00000000 00000001
 */
        raf.write(1);
        raf.write(2);
        /*
        写入操作执行完毕后，raf.dat文件nr
        000000001  00000010
         */
        raf.close();
        System.out.println("执行完毕!");

    }
}
